In complex computer systems, the development of a configuration for each particular computer environment can be difficult, and is often a matter of experimentation and guesswork to develop a working model. Because a complex system may include many disparate environments, this generally requires repeating the development process numerous times as various systems in different locations are configured.
If a configuration is developed for a system and is found to operate effectively, this generally is of little help for other systems. In a conventional operation, a developer or user may wish to copy a configuration over to another system or to develop a configuration for use in multiple systems, but this is generally not possible because of system dependencies built into the configuration. Certain elements of the configuration will depend on the characteristics of the individual computer systems that are configured, and such characteristics will generally be different for each system that is encountered.
A conventional system configuration is static, and thus is not adaptable to new environments. If a developer or user wishes to copy a working configuration for one system to another system or to develop a configuration for use in multiple computer systems, it is necessary to identify all system dependent configuration elements, to determine how the system dependent configuration elements need to be set to operate in each system, and then to set these configuration elements. Thus, the transfer of a configuration from one system to another is a time-consuming process, and the effort required to correct problems severely limits any advantage that might be gained in copying system configurations or attempting to a common configuration for multiple different systems.
In order to form a conventional configuration process, the elements of the environment need to be placed into the configuration by a system administrator or other person. The process is generally done “by hand” because the required data for the configuration needs to be determined from the system that will receive the configuration, the determined data requires translation into the necessary form for the configuration, and the resulting values must be installed in the correct configuration elements. As a result, the actual formation of the configuration is a complex process.